fix(discovery-index): treat body-signalled secondary rate limits as retryable - #10249
Conversation
…etryable isRateLimitStatus only inspected status/retry-after/x-ratelimit-remaining, so a GitHub secondary rate limit (403 with body-only signalling, no retry-after, remaining still non-zero) fell through as a permanent failure and silently truncated the fan-out's candidate set. Port the body-regex check from src/github/client.ts's isRateLimitedResponse, reading via clone().text() so callers can still read the response body on the retried-and-succeeded path.
|
Tip ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-31 14:25:59 UTC
Review summary Nits — 5 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #10249 +/- ##
========================================
Coverage 80.60% 80.61%
========================================
Files 283 284 +1
Lines 59101 59210 +109
Branches 7000 7033 +33
========================================
+ Hits 47641 47730 +89
- Misses 11167 11188 +21
+ Partials 293 292 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
fix(discovery-index): treat body-signalled secondary rate limits as retryable
isRateLimitStatus only inspected status/retry-after/x-ratelimit-remaining, so
a GitHub secondary rate limit (403 with body-only signalling, no retry-after,
remaining still non-zero) fell through as a permanent failure and silently
truncated the fan-out's candidate set. Port the body-regex check from
src/github/client.ts's isRateLimitedResponse, reading via clone().text() so
callers can still read the response body on the retried-and-succeeded path.
Closes #10030